﻿Public Class AantalWijzigenForm

#Region "Properties"

    Private _aantal As Integer
    Public Property Aantal() As Integer
        Get
            Return _aantal
        End Get
        Set(ByVal value As Integer)
            _aantal = value
            UpdateScherm()
        End Set
    End Property

    Private _laatNegatiefAantalToe As Boolean
    Public Property LaatNegatiefAantalToe() As Boolean
        Get
            Return _laatNegatiefAantalToe
        End Get
        Set(ByVal value As Boolean)
            _laatNegatiefAantalToe = value
            UpdateScherm()
            If (LaatNegatiefAantalToe) Then
                ToolTip1.SetToolTip(tbAantal, "Vul een aantal verschillend van nul in")
            Else
                ToolTip1.SetToolTip(tbAantal, "Vul een positief aantal in")
            End If
        End Set
    End Property

#End Region

#Region "Constructor"

    Public Sub New(ByVal aantal As Integer, ByVal laatNegatiefAantalToe As Boolean)
        InitializeComponent()
        Me.Aantal = aantal
        tbAantal.Text = aantal.ToString()
        Me.LaatNegatiefAantalToe = laatNegatiefAantalToe
    End Sub

#End Region

#Region "Event handling"

    Protected Overrides Sub OnKeyUp(ByVal e As System.Windows.Forms.KeyEventArgs)
        MyBase.OnKeyUp(e)
        Select Case e.KeyCode
            Case Keys.F2, Keys.Enter
                If (Not btnOK.Enabled) Then Return
                btnOK_Click(Me, EventArgs.Empty)
        End Select
    End Sub

    Private Sub tbAantal_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tbAantal.TextChanged
        Integer.TryParse(tbAantal.Text, Aantal)
    End Sub

    Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
        Me.DialogResult = Windows.Forms.DialogResult.OK
        Me.Close()
    End Sub

#End Region

#Region "Helperfuncties"

    Private Sub UpdateScherm()
        If ((LaatNegatiefAantalToe And Aantal <> 0) Or (Not LaatNegatiefAantalToe And Aantal > 0)) Then
            tbAantal.BackColor = Constants.Kleuren.GELDIG
            btnOK.Enabled = True
        Else
            tbAantal.BackColor = Constants.Kleuren.ONGELDIG
            btnOK.Enabled = False
        End If
    End Sub

#End Region

End Class